package com.partners.dao.basic;

import com.partners.dao.bo.PermissionDO;
import com.partners.dao.dto.PermissionOutputDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface PermissionDao {
    int deleteByPrimaryKey(Integer id);

    int insert(PermissionDO record);

    int insertSelective(PermissionDO record);

    PermissionDO selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(PermissionDO record);

    int updateByPrimaryKey(PermissionDO record);

    List<Map<String,Object>> getPermissionList();

    Integer getPermissionByName(@Param("name") String name, @Param("id") Integer id);

    Integer getLastPermissionCode();

    List<Integer> getRolePermission(Integer roleId);

    List<PermissionDO> getRolePermissions(@Param("list") List<Integer> list);

    Object getExistRolePermission(@Param("roleId") Integer roleId, @Param("pid") Integer pid);

    Integer deleteRolePermission(@Param("roleId") Integer roleId, @Param("pid") Integer pid);

    List<Map<String,Integer>> getPermissionListByPid(List<Integer> perList);

    List<PermissionOutputDTO> getPermissionListByRoleId(@Param("roleId") Integer roleId);
}
